EjectDisk by Jason Anderson
©1994 Beyond Midnight Software (v1.0.3 November 1994)
Freeware

About It
     At heart, I’m a lazy person. If I have the choice of doing something using three key presses, or doing it using two key presses, I will use the two key presses every time (wouldn’t everyone?). Because I’m so lazy, I used to hate ejecting floppy disks. If I was typing at the keyboard, I had to pick up the mouse, click on the disk icon, and drag the disk icon to the trash. That's why I wrote EjectDisk. Now all I have to do is press a single key (on my extended keyboard), and any floppy disks that are currently mounted are unmounted and ejected.
     EjectDisk comes in two parts, an extension (INIT), and an FKEY. You can choose between them which one to use, since both perform the same function (they are just started in slightly different ways). For example, I prefer using the extension, where as people who don’t like installing extensions might prefer to use the FKEY. This document describes the EjectDisk FKEY. For more information on the EjectDisk extension, read the file “About EjectDisk”.
     The EjectDisk FKEY requires System 4.2 or later.

What Is An FKEY?
     For those of you who don’t know, an FKEY is a small program that is available for use virtually all the time, no matter what you are doing (with certain restrictions). To start it, or invoke it as I prefer to say, all you do is press command, shift and a number key at the same time. The number key you press is most important, since each FKEY has a number (between 0 and 9), and the number you press will decide which FKEY is invoked.

Installing the FKEY
     The EjectDisk FKEY is distributed in an installer program (which you must have already loaded to be reading this!) Installing it is simple. Simply select which “slot” you wish to install it in, and click the “Install” button. The FKEY will be installed into that position, and available for immediate use (no having to restart!).

Using the FKEY
     Simply invoke the FKEY by pressing command-shift-<slot>, where <slot> is the slot number where you installed the EjectDisk FKEY. The computer will then proceed to unmount and eject all currently mounted floppy disks. NOTE: While this may sound like what you can do by using the two FKEYs built into ROM (in slots 1 and 2), there is a difference. Those FKEYs only eject the floppy disk in the current drive, where as the EjectDisk FKEY will unmount and eject all floppy disks.

Removing the FKEY
     The installer program has the option of allowing you to remove any FKEY (not just EjectDisk FKEY). Simply select the slot of the FKEY you wish to remove, and press the remove button (so to remove the EjectDisk FKEY simply select the slot with the EjectDisk FKEY in it). A dialog box will appear asking you if you are sure you want to remove the FKEY from that slot. If you click the remove button, the FKEY in that slot will be removed, while pressing cancel will return you to the main window.

Possible Problems
     • Occasionally, if you eject a disk and then put it back in the computer, you will find that the last thing you did to the disk is not “remembered”. This is because the Finder hasn’t written the changes you have made to the disk. Normally this only occurs when you open/close windows, but it can also occur when renaming the disk or files on the disk IF THE EDIT FIELD IS STILL ACTIVE. In other words, click off the item you are re-naming for the disk to “remember” the change. Unfortunately there doesn’t appear to be a way around this problem (other than using really nasty hacks which would probably break under future systems).
     • Sometimes, when you invoke EjectDisk (either the extension or the FKEY), the computer will beep and do nothing. This can mean one of three things: you have a program that is currently running from a floppy disk, a program currently running is accessing something on a floppy disk, or the frontmost process(application) is a DA. The first two cases can be solved by simply quit the offending program(s). The last case occurs due to a documented bug in System 7, which basically means that if EjectDisk did what it normally does when a DA is at the front, the computer would crash. If you really have to eject the disk, simply switch to another application and everything should work fine.

Disclaimer
     THIS PROGRAM AND THE ACCOMPANYING DOCUMENTATION ARE PROVIDED “AS IS”. WHILE EVERY EFFORT HAS BEEN MADE TO TEST THIS SOFTWARE TO ENSURE IT PERFORMS AS EXPECTED, NEITHER THE AUTHOR (JASON ANDERSON) OR BEYOND MIDNIGHT SOFTWARE CAN BE HELD RESPONSIBLE FOR ANY CONSEQUENTIAL, INCIDENTAL OR INDIRECT DAMAGES THROUGH THE USE OF THIS SOFTWARE.

Roundup
     Well, that's all there is to say about EjectDisk. It has proven itself to be useful to me, and hopefully other people will think so too. Any comments, suggestions or (dare I say it) bug reports, should be sent to:

Normal Mail:
          Beyond Midnight Software
          PO Box 471
          Devonport  TAS 7310
          Australia

e-mail (Internet):
          jason_ga@postoffice.sandybay.utas.edu.au

Finally, EjectDisk is distributed as freeware, so feel free to use it as much and as long as you like (and pass it around to all your friends).

EjectDisk was written using THINK C 5.0.4.

Version History
• v1.0.3 (November ‘94)
     - Documentation update (mention bug found in EjectDisk).

• v1.0.2 (August ‘94)
     - EjectDisk used to crash if it was used when a DA was the frontmost process (apparently due to a documented bug in System 7). EjectDisk now checks to see if a DA is at the front, and simply beeps and does nothing if there is.

• v1.0.1 (August ‘94)
     - Fixed a bug in the extension that caused incompatibilities with some extensions that loaded before EjectDisk (Apollo was one - thanks to Jean-Luc Haibette for finding this bug). Also fixed a bug with which any function key, not just F15, would cause EjectDisk to activate.

• v1.0 (July ‘94)
     - Initial release.